#ifndef _HIREDIS_OPTIONS_H_H_H
#define _HIREDIS_OPTIONS_H_H_H

#include <hiredis/hiredis.h>
#include <memory>
#include <string>

class HiredisOptionsBuilder
{
public:
    HiredisOptionsBuilder();
    ~HiredisOptionsBuilder();

public:
    void setTcpHost(const char *ip, const uint16_t &port);
    void setConnectTimeout(const struct timeval &&timeout);

public:
    std::shared_ptr<redisOptions> buildRedisOptions();

private:
    std::string     m_ipaddr;
    uint16_t        m_port;
    struct timeval *m_timeout;
};

#endif // _HIREDIS_OPTIONS_H_H_H